{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# The Black-Scholes PDE"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "[*Black Scholes PDE, WIKI*](https://en.wikipedia.org/wiki/Black%E2%80%93Scholes_equation). \n",
    "\n",
    "In this notebook I want to show how to solve the famous Black-Scholes (BS) Partial Differential Equation (PDE).\n",
    "\n",
    "\\begin{equation}\n",
    "\\frac{\\partial  V(t,s)}{\\partial t}  \n",
    "          + r\\,s \\frac{\\partial V(t,s)}{\\partial s}\n",
    "          + \\frac{1}{2} \\sigma^2 s^2 \\frac{\\partial^2  V(t,s)}{\\partial s^2} - r  V(t,s)  = 0.\n",
    "\\end{equation}\n",
    "\n",
    "I decided to use a fully implicit method, because it is an efficient and stable method. The illustrated approach can be used to solve more complex problems, such as the pricing of different types of derivatives (barrier options, digital options, American options, etc) with small modifications.\n",
    "\n",
    "## Contents\n",
    "   - [The BS PDE](#sec1)\n",
    "      - [PDE in log-variables](#sec1.1)\n",
    "      - [Implicit discretization](#sec1.2)\n",
    "   - [Introduction to sparse matrices](#sec2)\n",
    "   - [Numerical solution of the PDE](#sec3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import scipy as scp\n",
    "import matplotlib.pyplot as plt\n",
    "from mpl_toolkits import mplot3d\n",
    "from matplotlib import cm\n",
    "%matplotlib inline\n",
    "\n",
    "from scipy import sparse\n",
    "from scipy.sparse.linalg import splu\n",
    "from scipy.sparse.linalg import spsolve\n",
    "\n",
    "from IPython.display import display\n",
    "import sympy; sympy.init_printing()\n",
    "\n",
    "def display_matrix(m):\n",
    "    display(sympy.Matrix(m))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='sec1'></a>\n",
    "## The BS PDE\n",
    "\n",
    "Ok ok... *Nihil novi sub sole*. The PDE derivation can be found in every textbooks... I know.  \n",
    "\n",
    "I suggest the interested reader to have a look at [1] for a clear exposition. If you are already familiar with these concepts, maybe it can be interesting for you to have a look at the notebook **A3**, where I present the derivation of the P(I)DE for general exponential Lévy processes. The BS PDE appears as a special case."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='sec1.1'></a>\n",
    "## PDE in log-variables\n",
    "\n",
    "Let us consider the geometric Brownian motion (GBM), described by the SDE:    \n",
    "\n",
    "\\begin{equation}\n",
    "\t  \\frac{dS_t}{S_t} = \\mu dt + \\sigma dW_t.\n",
    "\\end{equation}\n",
    "\n",
    "Let $V(t,s)$ be the value of a European call option. \n",
    "\n",
    "By the **martingale pricing theory**, in an arbitrage-free market there exists an equivalent martingale measure $\\mathbb{Q}$ such that the discounted option price is a $\\mathbb{Q}$-martingale. (Remember that under $\\mathbb{Q}$ the drift $\\mu$ is replaced by the risk free drift $r$.)\n",
    "\n",
    "The PDE for the option price is:\n",
    "\n",
    "\\begin{equation}\n",
    " \\frac{\\partial V(t,s)}{\\partial t} + \\mathcal{L}^{S} V(t,s) -r V(t,s) = 0   \n",
    "\\end{equation}\n",
    "\n",
    "where $\\mathcal{L}^{S}$ is the infinitesimal generator of $\\{S_t\\}_{t\\in[t_0,T]}$.  \n",
    "In the Black-Scholes model, the measure $\\mathbb{Q}$ is unique and the infinitesimal generator under this measure is:\n",
    "\n",
    "\\begin{equation}\n",
    " \\mathcal{L}^{BS} V(t,s) = \\;  r s \\frac{\\partial V(t,s)}{\\partial s}\n",
    "+ \\frac{1}{2} \\sigma^2 s^2 \\frac{\\partial^2  V(t,s)}{\\partial s^2},\n",
    "\\end{equation}\n",
    "\n",
    "In order to simplify the computations, it is better to pass to the log-variable $x = \\log s$. This change corresponds to the following change in the operators:\n",
    "\n",
    "\\begin{equation}\n",
    "s \\frac{\\partial}{\\partial s} = \\frac{\\partial}{\\partial x}, \\hspace{2em} \n",
    "s^2 \\frac{\\partial^2}{\\partial s^2} = \\frac{\\partial^2}{\\partial x^2} - \\frac{\\partial}{\\partial x} . \n",
    "\\end{equation}\n",
    "\n",
    "In log-variables the BS PDE is:\n",
    "\n",
    "$$ \\frac{\\partial  V(t,x)}{\\partial t}  \n",
    "          + \\biggl( r -\\frac{1}{2}\\sigma^2 \\biggr) \\frac{\\partial V(t,x)}{\\partial x}\n",
    "          + \\frac{1}{2} \\sigma^2 \\frac{\\partial^2  V(t,x)}{\\partial x^2} - r  V(t,x)  = 0. $$\n",
    "\n",
    "For an option with strike $K$ and maturity $T$, the boundary conditions are:\n",
    "\n",
    "CALL:\n",
    " - Terminal:\n",
    " $$ V(T,x) = \\max(e^x-K,0), $$\n",
    " - Lateral:\n",
    " $$ V(t, x) \\underset{x \\to -\\infty}{=} 0 \\quad \\mbox{and} \\quad V(t, x) \\underset{x \\to \\infty}{\\sim} e^x - Ke^{-r(T-t)}. $$\n",
    "\n",
    "PUT:\n",
    " - Terminal:\n",
    " $$ V(T,x) = \\max(K-e^x,0), $$\n",
    " - Lateral:\n",
    "  $$ V(t, x) \\underset{x \\to -\\infty}{\\sim} Ke^{-r(T-t)} \\quad \\mbox{and} \\quad V(t, x) \\underset{x \\to \\infty}{=} 0. $$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Derivative approximation\n",
    "\n",
    "Finite difference methods are a technique for obtaining numerical solutions of PDEs. \n",
    "The idea underlying finite-difference methods is to replace the partial derivatives occurring in the PDE by finite difference approximations. If we assume that $V$ is a smooth function, we can use the Taylor series expansion near the point of interest.\n",
    "For a $\\Delta t > 0$ we can write\n",
    "\n",
    "\\begin{equation}\n",
    " V(t+\\Delta t,x) \\approx V(t,x) + \\frac{\\partial V(t,x)}{\\partial t} \\Delta t + \\frac{1}{2} \\frac{\\partial^2 V(t,x)}{\\partial t^2} \\Delta t^2 + \\mathcal{O}(\\Delta t^3).\n",
    "\\end{equation}\n",
    "\\begin{equation}\n",
    " V(t-\\Delta t,x) \\approx V(t,x) - \\frac{\\partial V(t,x)}{\\partial t} \\Delta t + \\frac{1}{2} \\frac{\\partial^2 V(t,x)}{\\partial t^2} \\Delta t^2 + \\mathcal{O}(\\Delta t^3).\n",
    "\\end{equation}\n",
    "\n",
    "An analogous approximation can be done for $V(t,x+\\Delta x)$ with $\\Delta x > 0$.\n",
    "\n",
    "If we want to approximate the partial derivative with respect to time, we obtain the following finite difference approximation\n",
    "\n",
    "\\begin{equation}\n",
    " \\frac{\\partial V(t,x)}{\\partial t} \\approx \\frac{V(t+\\Delta t,x) - V(t,x)}{\\Delta t} + \\mathcal{O}(\\Delta t)\n",
    "\\end{equation}\n",
    "\n",
    "also called **forward difference**, since the differencing is in the forward $t$ direction.\n",
    "We can also consider the **backward difference**\n",
    "\n",
    "\\begin{equation}\n",
    " \\frac{\\partial V(t,x)}{\\partial t} \\approx \\frac{V(t,x) - V(t-\\Delta t,x)}{\\Delta t} + \\mathcal{O}(\\Delta t)\n",
    "\\end{equation}\n",
    "\n",
    "and the **central difference**\n",
    "\n",
    "\\begin{equation}\n",
    " \\frac{\\partial V(t,x)}{\\partial t} \\approx \\frac{V(t+\\Delta t,x) - V(t-\\Delta t,x)}{2 \\Delta t} + \\mathcal{O}(\\Delta t^2).\n",
    "\\end{equation}\n",
    "\n",
    "The use of the forward and backward difference approximation leads to the **explicit** and **implicit** finite difference \n",
    "schemes respectively. The central difference is not used for the time variable because it leads to bad numerical schemes.\n",
    "But it is common to use it for the space variable.\n",
    "\n",
    "For second order derivatives, such as $\\partial^2 V(t,x)/\\partial x^2$, we can use the symmetric central difference approximation for a $\\Delta x > 0$:\n",
    "\n",
    "\\begin{equation}\n",
    " \\frac{\\partial^2 V(t,x)}{\\partial x^2} \\approx \\frac{V(t,x+\\Delta x) + V(t,x-\\Delta x) - 2V(t,x)}{ \\Delta x^2} + \\mathcal{O}(\\Delta x^2).\n",
    "\\end{equation}\n",
    "\n",
    "If you need more details, have a look at [2]."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='sec1.2'></a>\n",
    "## Implicit discretization\n",
    "\n",
    "\n",
    "First we have to restrict the theoretical infinite domain to the finite region $[t_0,T]\\, \\times \\, [A_1,A_2]$, with $A_1 < A_2$. \n",
    "\n",
    "The next step is to replace $[t_0,T]\\times [A_1,A_2]$ by a discrete grid:\n",
    "\n",
    "For $n = 0,1, ... N \\in \\mathbb{N}$, define the discrete time step $ \\Delta t = \\frac{T - t_0}{N} $ such that\n",
    "$t_n = t_0 + n \\Delta t$. For $i = 0,1, ... M \\in \\mathbb{N}$, define the discrete space step $ \\Delta x = \\frac{A_2 - A_1}{M} $ such that\n",
    "$x_i = A_1 + i \\Delta x$.\n",
    "\n",
    "The grid is divided into equally spaced nodes of distance $\\Delta x$ in the x-axis, and of distance $\\Delta t$ in the t-axis.\n",
    "\n",
    "The mesh points have the form $(t_0 + n \\Delta t, A_1 + i \\Delta x)$.\n",
    "At this point we concern ourselves only with the values of $V(t,x)$ on the mesh nodes. We call \n",
    "\n",
    "$$ V(t_0 + n \\Delta t, A_1 + i \\Delta x) = V^n_i .$$\n",
    "\n",
    "We apply the backward discretization (implicit scheme) for the time derivative, and a central discretization for the first order space derivative.  \n",
    "\n",
    "We are interested in the value of V at time $t_0$. We know the values $V^N$ corresponding to the terminal conditions. The algorithm consists in finding the values $V^n$ given the knowledge of the values $V^{n+1}$. \n",
    "\n",
    "**Comment:**\n",
    " A common practice is to invert the time flow i.e. introducing a new time variable $\\tau = -t$ and change the variables in the PDE. It follows that the terminal conditions become initial conditions, and the problem becomes a forward problem. However, I am not using this change of variable in this notebook.\n",
    "\n",
    "The discretized equation becomes\n",
    "\n",
    "$$ \\begin{aligned}\n",
    "\\frac{V^{n+1}_{i} -V^{n}_{i}}{\\Delta t} + \n",
    "(r-\\frac{1}{2}\\sigma^2) \\frac{V^{n}_{i+1} -V^{n}_{i-1}}{ 2 \\Delta x}\n",
    "+ \\frac{1}{2} \\sigma^2 \\frac{V^{n}_{i+1} + V^{n}_{i-1} - 2 V^{n}_{i}}{\\Delta x^2}  - r V^{n}_i = 0.\n",
    "\\end{aligned}$$\n",
    "\n",
    "Rearranging the terms: \n",
    "\n",
    "$$ \\begin{aligned}\n",
    " V^{n+1}_{i} &= V^{n}_{i} \\biggl( 1 + r\\Delta t + \\sigma^2 \\frac{\\Delta t}{\\Delta x^2} \\biggr)  \\\\\n",
    "& + V^{n}_{i+1} \\biggl( -(r -\\frac{1}{2}\\sigma^2)\\frac{\\Delta t}{2 \\Delta x} -\n",
    "\\frac{1}{2}\\sigma^2 \\frac{\\Delta t}{\\Delta x^2}  \\biggr)  \\\\\n",
    "& + V^{n}_{i-1} \\biggl( (r -\\frac{1}{2}\\sigma^2)\\frac{\\Delta t}{2 \\Delta x} - \n",
    "\\frac{1}{2}\\sigma^2 \\frac{\\Delta t}{\\Delta x^2}  \\biggr).\n",
    "\\end{aligned} $$\n",
    "\n",
    "We can rename the coefficients such that:   \n",
    "\n",
    "$$ V^{n+1}_{i} = a V^{n}_{i-1} + b V^{n}_{i} + c V^{n}_{i+1}, $$\n",
    "\n",
    "and write it in matrix form:\n",
    "\n",
    "$$\n",
    "\\left(\n",
    "\\begin{array}{c}\n",
    "V^{n+1}_{1} \\\\\n",
    "V^{n+1}_{2} \\\\\n",
    "\\vdots \\\\\n",
    "V^{n+1}_{M-2} \\\\\n",
    "V^{n+1}_{M-1} \\\\\n",
    "\\end{array}\n",
    "\\right) = \n",
    "\\underbrace{\n",
    "\\left(\n",
    "\\begin{array}{ccccc}\n",
    "b     & c  & 0 & \\cdots  & 0 \\\\\n",
    "a     & b  & c & 0  & 0  \\\\\n",
    "0      & \\ddots & \\ddots &   \\ddots     & 0  \\\\\n",
    "\\vdots & 0 & a & b  & c  \\\\\n",
    "0      & 0 & 0 & a  & b \\\\\n",
    "\\end{array}\n",
    "\\right) }_{\\mathcal{D}} \\cdot\n",
    "\\left(\n",
    "\\begin{array}{c}\n",
    "V^{n}_{1} \\\\\n",
    "V^{n}_{2} \\\\\n",
    "\\vdots \\\\\n",
    "V^{n}_{M-2} \\\\\n",
    "V^{n}_{M-1} \n",
    "\\end{array}\n",
    "\\right)\n",
    "+ \\underbrace{\n",
    "\\left(\n",
    "\\begin{array}{c}\n",
    " a V^{n}_{0} \\\\\n",
    "  0 \\\\\n",
    " \\vdots \\\\\n",
    " 0 \\\\\n",
    "c V^{n}_{M} \\\\\n",
    "\\end{array}\n",
    "\\right) }_{\\mbox{B (boundary terms)}}\n",
    "$$\n",
    "\n",
    "The system \n",
    "\n",
    "$$ V^{n+1} = \\mathcal{D} V^{n} + B $$\n",
    "\n",
    "can be solved easily for $V^{n}$ by inverting the matrix $\\mathcal{D}$.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='sec2'></a>\n",
    "## Introduction to sparse matrices \n",
    "\n",
    "A [*sparse matrix*](https://en.wikipedia.org/wiki/Sparse_matrix) is a matrix in which most of the entries are zeros.\n",
    "\n",
    "If most of the elements are nonzero, then the matrix is considered *dense*.\n",
    "\n",
    "A dense matrix is typically stored as a two-dimensional array. Each entry in the array represents an element of the matrix and is accessed by the two indices i and j.\n",
    "\n",
    "Since a sparse matrix is almost empthy, storing all the zeros is a waste of memory. For this reason it is more efficient to use different data structures from the usual 2D arrays. More information on these can be found in the wiki page. \n",
    "\n",
    "Have a look at the manual page of the **scipy.sparse** library. [link](https://docs.scipy.org/doc/scipy/reference/sparse.html).\n",
    "\n",
    "There are many ways to represent a sparse matrix, Scipy provides seven of them:\n",
    "- Block Sparse Row (BSR)\n",
    "- Coordinate list (COO)\n",
    "- Compressed Sparse Column (CSC)\n",
    "- Compressed Sparse Row (CSR)\n",
    "- DIAgonal storage (DIA)\n",
    "- Dictionary Of Keys (DOK)\n",
    "- List of lists (LIL)\n",
    "\n",
    "Each format has its pros and cons. But we can roughly divide them in two groups: \n",
    "- CSR and CSC are better for efficient matrix operations.\n",
    "- All the others are better for the initial construction the sparse matrix.\n",
    "\n",
    "The good thing is that it is very easy to convert one representation into one other. Here I pasted some recomandations from the scipy manual page:\n",
    "\n",
    "*To construct a matrix efficiently, use either dok_matrix or lil_matrix. The lil_matrix class supports basic slicing and fancy indexing with a similar syntax to NumPy arrays. The COO format may also be used to efficiently construct matrices. Despite their similarity to NumPy arrays, it is strongly discouraged to use NumPy functions directly on these matrices because NumPy may not properly convert them for computations, leading to unexpected (and incorrect) results. If you do want to apply a NumPy function to these matrices, first check if SciPy has its own implementation for the given sparse matrix class, or convert the sparse matrix to a NumPy array (e.g. using the toarray() method of the class) first before applying the method.\n",
    "To perform manipulations such as multiplication or inversion, first convert the matrix to either CSC or CSR format. The lil_matrix format is row-based, so conversion to CSR is efficient, whereas conversion to CSC is less so.\n",
    "All conversions among the CSR, CSC, and COO formats are efficient, linear-time operations.*\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Example: Matrix multiplication and operations"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJcAAAB9CAMAAACYngGvAAAAP1BMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFBd4eAAAAFHRSTlMAMquZdlQQQO0wRIlmzd0i77t8bBwggJIAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAQRSURBVHgB7ZzhdqIwFISjIHaFAu7m/Z91ExDKJFyucwLV08Y/AsMlH5OATkM1Jzu8zuY9Xu2IY8zJFqV7Xd4DyzQe5mw91+lNkL4wGuCqirqpZUhFNorOyMj16fqyarsvbFxSZKPojAxcTe856k+kmdcU2Sg6JQPXfbgkL7aaUWBBkY2iUzJw2YHrZoUrU5GNolPykquyhffnZkuwaVpRZKPonLzk6mztGU7j24QzvyuyUXRORq7BL5lrU3ZcmzonL7k4p2cfp4W08qB6yfUYuJftcS/KieXjZTEdHbjud3/ujXif2JZNWjlWA9d45yu276ui/Livijp1dOAyrf8c6sUPSEVOLIejI1dVu28YIpZRZE1XykFGrunSev175uL6IPuV/eIc4PbO4yv7xTnA7Y3ji0meK+2klUM1cjHJc4UrrRyqgYtKnjFXWjlWAxeVPGOutHKsBi4qecZcaeVYveQKIknYsCLnXBsYpgTT35Nrr/Y6WoPRMrDLaLlV06mj/13+HROjZcSlyDnXho5B8gxFt67ojLy8f7msnXPtit3LTejXUnntcubi/M9+/Ry/qlKYeOFOcde9Oze38f7zj7uectLBfsT12NV1fRcm27w7kExjuxg59OvSy9dA5+d/LraJW3xsgWQa78XIwFWdi7M02eGaKYcJGtvGLY5bMJlGe1EycA1ty37d+pvrKytNhxw3X6twDQ5s9CMm08gvSmb88i1V7TB3GjXqpaTp3qCa4+rqthD7mZuQDc8sqOa43MFqP8hWX0ru5WSay/TSnSToiZCdkz3XnGvdocqN+0Q3PIhyl6Zzj8u1CpcdmGUuJfdSMtOP/TCP3Frp+Z3xxnnEfO12Pzb+E+giPPXhhxMTXP3++IJq9Ks49/bzLH4A3oqiuEuXo2skLRZDNXLhCbxyLXNx7me/sl+cA9zefnzlXPu8Z/l6fN4rv+eufjHBNcaE6pBrK9e6Q23LTHCNuaAauJRcq8jHPYfszmHre7Qm44xrZAglg19awwo2FVwjbKzekYsLPCFXUL0jV5BMw4Y5eVeug55D9meYMO6Dngj94mTv1/Xjz3yQBK5dc+2/D/x7dAoXFVxnJ6YFrN5xfB34HHLS+HpdrlVib86105j8/vdw3H8/wXqLmWvdF2lr9ktyZn179mvdF2lr9ktyZn07+gXRMi5Q5OPmayFaxlyKnP+/Fi1Tgulx87UYLRHKrSmypivlKC/HPZdYIuy08qB6ycUlz4grrTyoRq6UYPp7nkOen2cah970L65RRynyrrl22Y+JDxInlm/k2rQJ1wNzLUyZRv2ozcdqOnN06MfEYJpYnudr45Hw9Bbsx6fLDt8xc3EWv7df7/k7SJX/4aGy3HiQhOuDxL2H30EqS/MfMgRjYUpaSP0AAAAASUVORK5CYII=\n",
      "text/latex": [
       "$$\\left[\\begin{matrix}0 & 0 & 0 & 0 & 0\\\\0 & 0 & 0 & 0 & 0\\\\1 & 3 & 0 & 0 & 0\\\\1 & 1 & 0 & 0 & 0\\\\0 & 0 & 0 & 0 & 0\\end{matrix}\\right]$$"
      ],
      "text/plain": [
       "⎡0  0  0  0  0⎤\n",
       "⎢             ⎥\n",
       "⎢0  0  0  0  0⎥\n",
       "⎢             ⎥\n",
       "⎢1  3  0  0  0⎥\n",
       "⎢             ⎥\n",
       "⎢1  1  0  0  0⎥\n",
       "⎢             ⎥\n",
       "⎣0  0  0  0  0⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CSR representation:  (ordered by rows)\n",
      "  (2, 0)\t1\n",
      "  (2, 1)\t3\n",
      "  (3, 0)\t1\n",
      "  (3, 1)\t1\n",
      "CSC representation:  (ordered by columns)\n",
      "  (2, 0)\t1\n",
      "  (3, 0)\t1\n",
      "  (2, 1)\t3\n",
      "  (3, 1)\t1\n"
     ]
    }
   ],
   "source": [
    "np.random.seed(seed=44)\n",
    "dense_mat = np.random.binomial(n=1, p=0.1, size=(5, 5))    # Sparse matrix stored as a dense matrix\n",
    "dense_mat[2,1] = 3\n",
    "sparse_mat = sparse.csr_matrix(dense_mat)    # Sparse matrix stored as a CSR sparse matrix\n",
    "\n",
    "display_matrix(sparse_mat.toarray())\n",
    "print(\"CSR representation:  (ordered by rows)\")\n",
    "sympy.pprint(sparse_mat)\n",
    "print(\"CSC representation:  (ordered by columns)\")\n",
    "sympy.pprint(sparse_mat.tocsc())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Feel free to convert the sparse matrix into a different representations and pprint it.\n",
    "\n",
    "Now let's see some math operations. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAADkAAAB9CAMAAAAvDzvNAAAAP1BMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFBd4eAAAAFHRSTlMAMquZdlQQQO0wRIlmzd0i77t8bBwggJIAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAKtSURBVFgJ7ZnZYtsgEADRhVOBdaT7/99agWKJWQyx27xVerBFhgGywmvAppF4tebVa9oFYxrp+u0aXhWND9VbCWbzsnRW9DBt57wrNwNM876N2E7z2TDvgGH6JdR0d9Y/SsQw1xjeQexRGTfEMCWaoxSiTJyaVrrQxyg9unoUFE7NWVyo1exvD+F4V5hm7LNsAqemGs7R2deNwqlp9hAM9Qg9MMx1Dc374lMBhrk/6q4+Ex4YppnC7FuKExeYpnXbp6coGmCaOpy18mXWohPYFaH3IoRUnKvAjC1ScW4Cw2QqzkximEzFmUkMk6k4M4lTUyU3bSqcmioVa1NhmkjFuQmcmmo42lQ4mDe57bXeytSf6bf9lal1nLdy+lSe4MqfLrMSnIhChGxfWK5V5Xlbb/3E+rbaiYI/9Txt37tuVI2fRWD2GdNFW1ikGgMMc/Ch/bm0kiKG6eLyzE7n+HBHDHOUdXuyLvYMZy8QwzStiC+KhpimcSL3yoRKMc2hHSdZio8FGKYPe4delkKvxME8MvUSd0dNaU1NnGZqu7USrvZ5cBXGaPdGzVrYmBHDHGNc/fONzrYFAoZpmrarzXhgmvv/+drrZX4Xp3+L0P+XqUM8m5hVi5E9cB7bKabOonngzOyXqnlibc7+XjMTrE1nqmaClennqplimnZLJJU+gWmGc5OKCQxzCNv6skkczNvHr/j4bDyqKZoK//441yZDGy5Z2udpU2GMNvZcnwnmwLkptZlgzIG16VaRwvdKGFGCtRkH/NLLZX4XpitC70UIxxu5CszY4ngjN4Fh8ngjM4lh8ngjM4lh8ngjM4lTUx0YaFPh1FTHG9pUmCaON3ITODXVcLSpcGpe59RfwbrOqfWsqZYxh6o1NdzNv/11b9vsh6u47dS97b/u9b35A033OJ+rDJxlAAAAAElFTkSuQmCC\n",
      "text/latex": [
       "$$\\left[\\begin{matrix}0 & 0\\\\0 & 0\\\\8 & 8\\\\4 & 4\\\\0 & 0\\end{matrix}\\right]$$"
      ],
      "text/plain": [
       "⎡0  0⎤\n",
       "⎢    ⎥\n",
       "⎢0  0⎥\n",
       "⎢    ⎥\n",
       "⎢8  8⎥\n",
       "⎢    ⎥\n",
       "⎢4  4⎥\n",
       "⎢    ⎥\n",
       "⎣0  0⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKgAAAAyBAMAAAA6mI2iAAAAMFBMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMA74lUMhDdq5lmIkR2u82aysa+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAClUlEQVRYCe2Yu2sUURTGP2Z24j6yPohWIhkGm4CPyV+wG4i2GUWi3RYWiiCuYBErlzQRQYl2VlmtxMbYC6azEbOdlbhgYesDXyAZ7z1zH+dmBRfvpgjsbeac8537Y+6du7PfLqbzLxjpOJl/xtT8qZEycW5+FgdHi5S0OQU9vZQk8SC+mhxPeTVaftDk+YWZozxVsoau5Xne5joQHgKeIPzFq3vT6ArPP2Cxy3Ila+gdYA9TRXh+5RuwmeI7L98HTrC8sh9Bn+VK1tAYcBYiOicF9Pl6tMUm4S3QyGyh3kYousxQsoYCtQ2jFYGEik1wlv8DeMk2eV8bta9smpIttM5ECgvoYszq0U8B3bCFVge13zbVsoXOWLGICPr4MlstquJzshDbxmcxSuyjo2UDjT7ZXgZFcJjVq+JOHWjHhSrZQCf7bDKFxfJxgN2qXp9u/dfyJ3q6U18l9CnwPtUFcRVPosFy8aDCbQ9KyuZOW202l0IJzTMX+g5Yy2xjvYcKP1JKNtCFju0tIgk9AlzrMkGc7nssFYe/3Ge5kg200WEihRL6ECE7MsBEGjkvoIs402TzlGygj9hWUVv5+tZN1G7fXWeTEB17xSE4+/rGX2QD5ZpvPIb67uDg/PGeDu6Jb2U37mnp0nKSsIWTj/AyE7MZKsJOiHewGeQjPMxEtHQrQ7kL8Bc1+QgvM7GZIQCCJuwgH+FlJgRUjBcWKSPyER5mooD2XCj5CA8zQdBg1YGSj/AxEwRtOUyxxdJHeJgJgr7ZBi18xP+bCYJedaDkI7zMhIRG/OgrH+FlJiS0JOwVG+QjvMyEhIYulHyEj5lYmf64iuoUu0/hrKWPGJsJZ0+GS3bj18lwKxuqa25nfprvxJ8IfwBL3AITfZCPMwAAAABJRU5ErkJggg==\n",
      "text/latex": [
       "$$\\left[\\begin{matrix}7 & 13 & 0 & 0 & 0\\\\17 & 33 & 0 & 0 & 0\\end{matrix}\\right]$$"
      ],
      "text/plain": [
       "⎡7   13  0  0  0⎤\n",
       "⎢               ⎥\n",
       "⎣17  33  0  0  0⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "two_dense = 2 * np.ones(shape=(5,2), dtype=np.int32)   # Example of dense matrix\n",
    "range_dense = np.reshape(np.array([i for i in range(1,11)]),(2,5)) # Second example of dense matrix\n",
    "\n",
    "# The product is a dense matrix\n",
    "display_matrix(sparse_mat @ two_dense)\n",
    "display_matrix(range_dense @ sparse_mat)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Depending on what you prefer to use, you can call *toarray* or *todense* to convert the sparse matrix in a np.array or in a np.matrix. \n",
    "\n",
    "Be careful because the the ***** operator represents the element-wise product for numpy arrays and the scalar product for the numpy matrices.\n",
    "\n",
    "I prefer to use the numpy arrays, and therefore I will use the **@** operator for the scalar product operation. This operator handles very well hybrid multiplications between sparse and dense matrices. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'numpy.ndarray'>\n",
      "<class 'numpy.matrix'>\n"
     ]
    }
   ],
   "source": [
    "print(type(sparse_mat.toarray()))\n",
    "print(type(sparse_mat.todense()))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Example: Diagonal matrices\n",
    "A diagonal matrix can be initialized as follows, by giving as the second argument a list of diagonals to be filled, and as first argument the list of values in the respective diagonal. (enter ```sparse.diags??``` in a cell for more information)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/latex": [
       "$$\\left[\\begin{matrix}1.0 & 5.0 & 0.0 & 0.0 & 0.0\\\\-2.0 & 1.0 & 5.0 & 0.0 & 0.0\\\\0.0 & -2.0 & 1.0 & 5.0 & 0.0\\\\0.0 & 0.0 & -2.0 & 1.0 & 5.0\\\\0.0 & 0.0 & 0.0 & -2.0 & 1.0\\end{matrix}\\right]$$"
      ],
      "text/plain": [
       "⎡1.0   5.0   0.0   0.0   0.0⎤\n",
       "⎢                           ⎥\n",
       "⎢-2.0  1.0   5.0   0.0   0.0⎥\n",
       "⎢                           ⎥\n",
       "⎢0.0   -2.0  1.0   5.0   0.0⎥\n",
       "⎢                           ⎥\n",
       "⎢0.0   0.0   -2.0  1.0   5.0⎥\n",
       "⎢                           ⎥\n",
       "⎣0.0   0.0   0.0   -2.0  1.0⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The representation type of the diagonal matrix is:  <class 'scipy.sparse.dia.dia_matrix'>\n",
      "  (1, 0)\t-2.0\n",
      "  (2, 1)\t-2.0\n",
      "  (3, 2)\t-2.0\n",
      "  (4, 3)\t-2.0\n",
      "   (0, 0)\t1.0\n",
      "   (1, 1)\t1.0\n",
      "   (2, 2)\t1.0\n",
      "   (3, 3)\t1.0\n",
      "   (4, 4)\t1.0\n",
      "   (0, 1)\t5.0\n",
      "   (1, 2)\t5.0\n",
      "   (2, 3)\t5.0\n",
      "   (3, 4)\t5.0\n"
     ]
    }
   ],
   "source": [
    "diagonal = sparse.diags([-2, 1, 5], [-1, 0, 1], shape=(5, 5))\n",
    "display_matrix(diagonal.toarray())\n",
    "print(\"The representation type of the diagonal matrix is: \", type(diagonal))\n",
    "sympy.pprint(diagonal)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Example: Solving the linear system:       \n",
    "$$A x = b$$\n",
    "\n",
    "- **Using spsolve**\n",
    "\n",
    "- **Using splu** (based on LU decomposition [link](https://en.wikipedia.org/wiki/LU_decomposition) )\n",
    "\n",
    "A *SparseEfficiencyWarning* is raised if the sparse matrix is not converted in the most efficient format.\n",
    "So it is better to convert from \"dia\" to \"csr\"."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The unknown 'x' is exactly what we expected:\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAACoAAAB9CAMAAADjlgEmAAAAP1BMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFBd4eAAAAFHRSTlMAMquZdlQQQO0wRO/NZt2JIrt8bAICnK4AAAAJcEhZcwAADsQAAA7EAZUrDhsAAALhSURBVFgJ7ZjbktsgDIYVwGQbbMAt7/+slYQ52GPEZqYX25lwEWfNv4oQ4kMAj8RNwbD5rAB4JG2wLUMlbNSvEkkfY1Xr2SSp1WEL1cxFujjbzMCKPlkfjze91CqtUifdHInCeiPFV6aX7hyTpbzqrV6liaWvdIRGkNqk6adfydADQJDGFEjxyI+JlK1+R/qGA5CHtXxjWLDveTRHqIVhQZ4CLU+BTdzvaWJdSYKTVa1cWtWGP+s5+jZg6hXlNa7k3KidrI5E+f1H+rMiELXe9zrnmCpDZFjKkZBedX7HyFCcw45BQXIBGc6TQFXYCchYmSNNKiMDrfoCnsmKJZgwKPB/JsgoS4WcjhlEI2SAZqKQEu4ceKYn9+GHaUq4IuP3CfALKWPBtISMB9s0RSogI/oQglY4EVNkrHkjozn7IKPMXv98c3Fb022svZ3z94hb3b+oB85W3/S1OhAxXfauhBkjI1IOLol2mNzGyDC8RSamAWkFZLwcMuhIVZIKyKDu3oEJMqwvGLhdsTUCEIPXdeamyAjkMLcZMgBcqcokZGQA7KWqkJCRmIFNKiDDcQHi0zeQsdGULlSBTZEBL41bDAfgg4wjDU6PN5fhf4kMGnDekPLQx8jgfs+ZmKVjZFC/yUnLUgEZ2B+3tVmVkRGgk4rI2GInvVuxFRkW10qzKiKDGNRLeSO/rTIWKtya9M6B59cvCo5lsDXpFRl/vuoOsyhqyanjfDU5mCCyWlyFKoO8gETSOTKwztxTopPJBxkct8vHm8ioSXgxc/nzZ1ldsTR66FZmCMhwVJXWnRtXBB15b+8yYA2qlsQ4fAkZfCRuIZKQcZFKyFDbZnQ9b92t2DpbO1YYsZ63RGSwm3spnuZVhi6bvOSA4vuDduLLw7q9y3As1eW8JSGDaQa+3F1IdxlcPm4O65E5MqIOKpdkH2S0pG3f8uLm49slW5uGTszcMOB0DWlMqVt7zfGdLyqNgb/KwzkpCvCqHgAAAABJRU5ErkJggg==\n",
      "text/latex": [
       "$$\\left[\\begin{matrix}1.0\\\\2.0\\\\3.0\\\\4.0\\\\5.0\\end{matrix}\\right]$$"
      ],
      "text/plain": [
       "⎡1.0⎤\n",
       "⎢   ⎥\n",
       "⎢2.0⎥\n",
       "⎢   ⎥\n",
       "⎢3.0⎥\n",
       "⎢   ⎥\n",
       "⎢4.0⎥\n",
       "⎢   ⎥\n",
       "⎣5.0⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAACoAAAB9CAMAAADjlgEmAAAAP1BMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFBd4eAAAAFHRSTlMAMquZdlQQQO0wRO/NZt2JIrt8bAICnK4AAAAJcEhZcwAADsQAAA7EAZUrDhsAAALhSURBVFgJ7ZjbktsgDIYVwGQbbMAt7/+slYQ52GPEZqYX25lwEWfNv4oQ4kMAj8RNwbD5rAB4JG2wLUMlbNSvEkkfY1Xr2SSp1WEL1cxFujjbzMCKPlkfjze91CqtUifdHInCeiPFV6aX7hyTpbzqrV6liaWvdIRGkNqk6adfydADQJDGFEjxyI+JlK1+R/qGA5CHtXxjWLDveTRHqIVhQZ4CLU+BTdzvaWJdSYKTVa1cWtWGP+s5+jZg6hXlNa7k3KidrI5E+f1H+rMiELXe9zrnmCpDZFjKkZBedX7HyFCcw45BQXIBGc6TQFXYCchYmSNNKiMDrfoCnsmKJZgwKPB/JsgoS4WcjhlEI2SAZqKQEu4ceKYn9+GHaUq4IuP3CfALKWPBtISMB9s0RSogI/oQglY4EVNkrHkjozn7IKPMXv98c3Fb022svZ3z94hb3b+oB85W3/S1OhAxXfauhBkjI1IOLol2mNzGyDC8RSamAWkFZLwcMuhIVZIKyKDu3oEJMqwvGLhdsTUCEIPXdeamyAjkMLcZMgBcqcokZGQA7KWqkJCRmIFNKiDDcQHi0zeQsdGULlSBTZEBL41bDAfgg4wjDU6PN5fhf4kMGnDekPLQx8jgfs+ZmKVjZFC/yUnLUgEZ2B+3tVmVkRGgk4rI2GInvVuxFRkW10qzKiKDGNRLeSO/rTIWKtya9M6B59cvCo5lsDXpFRl/vuoOsyhqyanjfDU5mCCyWlyFKoO8gETSOTKwztxTopPJBxkct8vHm8ioSXgxc/nzZ1ldsTR66FZmCMhwVJXWnRtXBB15b+8yYA2qlsQ4fAkZfCRuIZKQcZFKyFDbZnQ9b92t2DpbO1YYsZ63RGSwm3spnuZVhi6bvOSA4vuDduLLw7q9y3As1eW8JSGDaQa+3F1IdxlcPm4O65E5MqIOKpdkH2S0pG3f8uLm49slW5uGTszcMOB0DWlMqVt7zfGdLyqNgb/KwzkpCvCqHgAAAABJRU5ErkJggg==\n",
      "text/latex": [
       "$$\\left[\\begin{matrix}1.0\\\\2.0\\\\3.0\\\\4.0\\\\5.0\\end{matrix}\\right]$$"
      ],
      "text/plain": [
       "⎡1.0⎤\n",
       "⎢   ⎥\n",
       "⎢2.0⎥\n",
       "⎢   ⎥\n",
       "⎢3.0⎥\n",
       "⎢   ⎥\n",
       "⎢4.0⎥\n",
       "⎢   ⎥\n",
       "⎣5.0⎦"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "A = 3 * sparse.eye(5)\n",
    "x = np.array([[i] for i in range(1,6)])\n",
    "b = A @ x\n",
    "\n",
    "print(\"The unknown 'x' is exactly what we expected:\")\n",
    "# Solution by spsolve\n",
    "display_matrix(spsolve(A.tocsr(),b))\n",
    "\n",
    "# Solution by LU decomposition\n",
    "A_LU = splu(A.tocsc())\n",
    "display_matrix(A_LU.solve(b))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<a id='sec3'></a>\n",
    "## Numerical solution of the PDE\n",
    "\n",
    "Ok, let us solve the vector equation derived in the section [\"Implicit discretization\"](#sec1.2).\n",
    "\n",
    "In this case we consider a call option with strike $K$, maturity $T$. The stock price $S_0$ is not relevant for the algorithm. We will use it in the end to compute the value of the option for $S_0$.\n",
    "\n",
    "A common practice is to choose the computational region between $3K$ and $K/3$. Then we have $A_1 = \\log K/3$ and $A_2 = \\log 3K$.\n",
    "\n",
    "The values of the parameter are:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "r = 0.1; sig = 0.2                \n",
    "S0 = 100; X0 = np.log(S0)          \n",
    "K = 100; Texpir = 1            "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "Nspace = 3000   # M space steps\n",
    "Ntime = 2000    # N time steps   \n",
    "\n",
    "S_max = 3*float(K)                \n",
    "S_min = float(K)/3\n",
    "\n",
    "x_max = np.log(S_max)  # A2\n",
    "x_min = np.log(S_min)  # A1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "x, dx = np.linspace(x_min, x_max, Nspace, retstep=True)   # space discretization\n",
    "T, dt = np.linspace(0, Texpir, Ntime, retstep=True)       # time discretization\n",
    "Payoff = np.maximum(np.exp(x)-K,0)          # Call payoff"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "V = np.zeros((Nspace,Ntime))       # grid initialization\n",
    "offset = np.zeros(Nspace-2)        # vector to be used for the boundary terms   \n",
    "\n",
    "V[:,-1] = Payoff                   # terminal conditions \n",
    "V[-1,:] = np.exp(x_max) - K * np.exp(-r* T[::-1] )  # boundary condition\n",
    "V[0,:] = 0                         # boundary condition"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# construction of the tri-diagonal matrix D\n",
    "sig2 = sig*sig; dxx = dx * dx\n",
    "\n",
    "a = ( (dt/2) * ( (r-0.5*sig2)/dx - sig2/dxx ) )\n",
    "b = ( 1 + dt * ( sig2/dxx + r ) )\n",
    "c = (-(dt/2) * ( (r-0.5*sig2)/dx + sig2/dxx ) )\n",
    "\n",
    "D = sparse.diags([a, b, c], [-1, 0, 1], shape=(Nspace-2, Nspace-2)).tocsc()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Backward iteration\n",
    "for i in range(Ntime-2,-1,-1):\n",
    "    offset[0] = a * V[0,i]\n",
    "    offset[-1] = c * V[-1,i]; \n",
    "    V[1:-1,i] = spsolve( D, (V[1:-1,i+1] - offset) )    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Comment:\n",
    "\n",
    "You may be tempted to think: \n",
    "\n",
    "*Why not calculating the inverse of the matrix **D**? Something like this:*\n",
    "\n",
    "```python\n",
    "from scipy.sparse.linalg import inv\n",
    "Dinv = inv(D)\n",
    "# and inside the block of the backward iteration substitute\n",
    "V[1:-1,i] = Dinv * (V[1:-1,i+1] - offset)\n",
    "```\n",
    "\n",
    "Well... you can try... It works, but it is very slow!  \n",
    "\n",
    "The reason is that **inv** computes the sparse inverse of A (using the same spsolve method). However the inverse of a tridiagonal matrix, in general, is not sparse!!  \n",
    "For this reason, all the efficiency gained by using scipy.sparse is lost.\n",
    "\n",
    "We will see very soon that the right approach is instead to use **splu**."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Here we are!\n",
    "\n",
    "we can now find the value for $S_0 = 100$ and plot the curve at $t_0$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "13.269144076030782\n"
     ]
    }
   ],
   "source": [
    "# finds the option at S0\n",
    "oPrice = np.interp(X0, x, V[:,0])\n",
    "print(oPrice)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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gU9+0vlwydy5ziIpc+a4VoIQQrToz3/+M5/85CeJx+Ncc801XHfddTz33HMAfOUrX2Hs2LFs3boVv9/Pu+++S0VFRZs8r2VZmKbZJtdqD+l0mq1btzJo0CDC4bDb5QjRKtKpOwqxWIxx48YxadIkBgwYwJVXXgk4c+HGjh3LtGnT2L59Oxs2bCAcDvOJT3yCpUuXsnbtWlKpFCeddBKvvPIKn//85wmHw0QiEb7whS/w8ssvu/zKhOjifvQjZ8zj/fe7VsKWLU6z8PLLYeRI18oQQohDCgQCXHDBBbz//vu5YytXruSyyy4jHA7j8XgYP34855xzTrOPX758OWVlZcydO5cePXowaNAg/vjHP+bOX3bZZXzjG9/g3HPPJRwO889//pPLLruM2267LXefJUuWMG7cOAoLCxk6dCgvvvgiAPv37+fKK6+ktLSUfv36cdttt2FZVrN1vP7660yaNInCwkJ69+6dGxGVrS/foEGDeOmllwC46667uOCCC7j44ospLCxkwYIFXHXVVbz66qtEIhHuvPNOqqurOe+88+jZsyclJSWcd9557NixI3e9ffv2cfnll9O3b19KSkqYkbfU8dKlSxk3bhzFxcV87GMf45133mnV90WIw3FMdOpa21Fra9k5dfmWL1/OSy+9xKuvvkooFGL69Om57QOuuuoq5s6dy6hRo7j88ssBZ8y2EKINlZfDT38Ks2bBxImulXHXXc5Kl3fe6VoJQgjRKtFolMWLFzNt2rTcsWnTpvHNb36T6667jo997GMMGDDgoNeoqKhg79697Ny5kxUrVnDuuecyadIkRmZ+q/X444/zwgsvsHTpUpLJJI899ljusa+//jqXXHIJf/rTnzjzzDMpLy+nrq4OgEsvvZTevXuzceNGGhoaOO+88+jfvz9XX311kxquv/56rr/+er7yla9QX1/PmjVrWv0eLFmyhKeffppHH32URCKB3+/nd7/7Ha+88goAVVVVXH755Tz11FNYlsUVV1zBtdde26izGYlEeO+994hEIvz3v/8F4M033+SKK67gz3/+M5MmTeKxxx7jc5/7HOvWrcPv97e6PiEORTp1bWz//v2UlJQQCoVYu3YtK1asyJ2bOnUq27dv5/HHH+dLX/oSAKeffjrPPfcc0WiUhoYGnn32WU477TS3yhei67v7bkgmXR3z+N57zmbj114LB/xyWAghOo0ZM2ZQXFxMYWEhf/vb3/je976XO/f0009z2mmncc899zB48GDGjRvHypUrD3q9e+65B7/fzxlnnMFnPvMZnnrqqdy5888/n1NPPRXDMAgEAo0et2DBAq644grOOussDMOgX79+jBo1it27d7Ns2TIefPBBwuEwvXr14oYbbuDJJ59s9vm9Xi8bN25k7969RCKRRiH1UE455RRmzJiBYRgEg8Em57t3787MmTMJhUIUFBQwe/Zs/vWvfwFQXl7OsmXLmD9/PiUlJXi9Xs444wzAWUPh6quvZurUqZimyaWXXorf72/086EQbUFCXRs7++yzSafTnHzyydx+++1N/kG58MILOfXUUykpKQFgwoQJXHbZZUyZMoWpU6dy1VVXMX78eDdKF6LrW78eHn4Yrr4ahg1zrYzbboOCArjlFtdKEEKIQ3ruueeoqakhkUjwy1/+kjPOOCM3b66kpIT777+f9957j927dzNu3DhmzJjR4gijkpKSRvPPBg4cyK5du3Jf9+/fv8U6tm/fztChQ5sc37p1K6lUitLSUoqLiykuLubqq69mz549zV5nwYIFrF+/nlGjRjF58uTDWofgYPWB0828+uqrGThwIIWFhZx++unU1NRgWRbbt2+nW7duuZ/tDnwNDzzwQK7+4uJitm/f3ui9EaItHBPDL91SX1/f5Jjf72fZsmUtPuaVV15ptAomwI033pgb951vy5Ytuc+nT5/O9OnTj7hWIY4Lt90GgYCzlYFLVqyA556De+6B7t1dK0MIIVrNNE2+8IUvcPXVV/PKK69wwQUXNDrfo0cPvvvd77Jo0SL27dtH92b+cauurqahoSEX7LZt28aYMWNy55VSLT5///79m13Zu3///vj9fvbu3YvHc+gfWYcPH84TTzyBbds888wzXHDBBVRVVREOhxvtJWxZFpWVlY0ee7D6AB544AHWrVvHa6+9Rp8+fVi9ejXjx49Ha03//v3Zt28fNTU1FBcXN3kNs2fPZvbs2YesX4ijIZ26DlJTU8OIESMIBoOceeaZbpcjxLFn5Up4+mn4znegd29XStDa6c716uWsyiuEEF2B1polS5ZQXV3N6NGjAbjppptYs2YN6XSauro6fvOb3zBs2LBmA13WnXfeSTKZ5OWXX2bp0qV8sZV7hF555ZU88sgj/P3vf8e2bXbu3MnatWsp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avX5XYwJZjabaWxsHDqveDayLONwOIbOow1veRyerHnPpUmShE6nG0rOvH+mpqayaNGiocqa91xaW1sbq1at4u23357kVy4IviN+XRVGt3+/J6Hr7ob334crrvB1RFPGbodHHoHcXJiArhlBEATBD6lUKl588UVWrFiBy+VizZo1ZGZm8sgjj5CXl8fq1av58Y9/TE9Pz9Awibi4ODZt2jTmc1ZXV/OHP/xhKNGIjY0lOzubhQsXkpaWhlqtnpThISaTiZaWlqF2QF8LCwtj9erVvPnmm0NVs9Orat5krb+/H/C0JXrbHb1J2vBzad4R/VqtdtyVtIiICNauXYvT6fSbxFcQJppYaSCc6cMPPWfoQkLgvfdg9mxfRzSlnn/eM9xz82a46ipfRyMIlxax0mDc/P+H+CXsQlYbjIfdbmf//v3k5+dPyvN796V1dnaOSM5OX2jtPZfm3Q8XFxdHYmLimIutz/dcmiBcwsRKA+EcvfEGrFkD6enw7rue0Y+XkO5u+PnPPYVJkdAJgiAIF+JCVhuMh/esn8PhOKfhG6efSzv9PNrwalpbWxtutxtJkob2pQ1P0rKzszEajUP70rzn0tavX8/x48d59NFHJ/OlC4LwOZHUCR5ut6fn8IknPBnNX/96SS5me/ZZaGmBJ5/0dSSCIAjCxe5CVxuMx549eygqKuK66677wgEiNpuNwcFBZFlGp9ONWGQdGRl5xrm08PBwlErluCtpq1ev5l//+tckvVpBEE4n2i8FT3nq61+HTZs80y1ffhkuwTG7ra2QlATLlnnW8QmCMPVE++W4+f8P8UvcT3/6U1JSUsa92mD4vjRvYjY8WRve9tjf349araa2tnZoouNorY7efWnncy5NEAS/INovhTGcPAmrV8PRo57DZN/97rRfKj6WJ5+E3l5P+6UgCIIgTATvaoPrr7/+jHNpoy20bm1tpaurC1mWUSgUREREDA0J8SZmaWlpI6Y+BgcHA5CXl8c777wzKasEBEHwbyKpu5R9/DHceCPIsmex+JVX+join6muhpde8uykS0/3dTSCIAjCdJGXl8emTZvYv38/kiQREhIyIiEzmUzMmTNnaF/a8HNp462m/eQnP6G3t1ckdYJfGxgY4LLLLsNutzM4OMiNN97IY489RmVlJbfeeittbW3k5OTwxhtvoNFosNvt3H777ezevZuI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\n",
      "text/plain": [
       "<Figure size 1080x432 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "S = np.exp(x)\n",
    "fig = plt.figure(figsize=(15,6))\n",
    "ax1 = fig.add_subplot(121)\n",
    "ax2 = fig.add_subplot(122, projection='3d')\n",
    "\n",
    "ax1.plot(S, Payoff, color='blue',label=\"Payoff\")\n",
    "ax1.plot(S, V[:,0], color='red',label=\"BS curve\")\n",
    "ax1.set_xlim(60,170); ax1.set_ylim(0,50)\n",
    "ax1.set_xlabel(\"S\"); ax1.set_ylabel(\"price\")\n",
    "ax1.legend(loc='upper left'); ax1.set_title(\"BS price at t=0\")\n",
    "\n",
    "X, Y = np.meshgrid(T, S)\n",
    "ax2.plot_surface(Y, X, V, cmap=cm.ocean)\n",
    "ax2.set_title(\"BS price surface\")\n",
    "ax2.set_xlabel(\"S\"); ax2.set_ylabel(\"t\"); ax2.set_zlabel(\"V\")\n",
    "ax2.view_init(30, -100) # this function rotates the 3d plot\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In the class BS_pricer more methods are implemented. Let us have a look:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from functions.Parameters import Option_param\n",
    "from functions.Processes import Diffusion_process\n",
    "from functions.BS_pricer import BS_pricer\n",
    "\n",
    "# Creates the object with the parameters of the option\n",
    "opt_param = Option_param(S0=100, K=100, T=1, exercise=\"European\", payoff=\"call\" )\n",
    "\n",
    "# Creates the object with the parameters of the process\n",
    "diff_param = Diffusion_process(r=0.1, sig=0.2)\n",
    "\n",
    "# Creates the object of the pricer\n",
    "BS = BS_pricer(opt_param, diff_param)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "By default the method PDE_price uses the LU solver. Let us compare the execution times of three implementations:\n",
    "- splu\n",
    "- Thomas: I wrote a wrapper of a LAPACK function.  [code](./functions/Solvers.py)\n",
    "- spsolve\n",
    "- SOR: I wrote the SOR solver in cython, such that it would be easily integrated with the python code. However it is still very slow. [Cython code](./functions/cython/cython_functions.pyx)\n",
    "  From this cell it is also not possible to modify the SOR parameters (if you want to modify it, you need to enter the *BS.PDE_price* method in [BS_pricer class](./functions/BS_pricer.py) ). \n",
    "  \n",
    "The SOR and Thomas algorithms are explained in the notebook **A1** and the code optimization for the SOR algorithm is the topic of the notebook **A2**. Further comparisons (with cython and C code) are in the notebook A2."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Price: 13.269418 Time: 0.998075\n",
      "Price: 13.269418 Time: 1.096706\n",
      "Price: 13.269418 Time: 12.635135\n",
      "Price: 13.269418 Time: 26.116798\n"
     ]
    }
   ],
   "source": [
    "print(\"Price: {0:.6f} Time: {1:.6f}\".format(*BS.PDE_price((5000,4000), Time=True, solver=\"splu\")))\n",
    "print(\"Price: {0:.6f} Time: {1:.6f}\".format(*BS.PDE_price((5000,4000), Time=True, solver=\"Thomas\")))\n",
    "print(\"Price: {0:.6f} Time: {1:.6f}\".format(*BS.PDE_price((5000,4000), Time=True, solver=\"spsolve\")))\n",
    "print(\"Price: {0:.6f} Time: {1:.6f}\".format(*BS.PDE_price((5000,4000), Time=True, solver=\"SOR\")))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Thomas and SPLU are super fast!!!**\n",
    "\n",
    "\n",
    "A put option can be priced by changing the terminal and boudary conditions. You can read the implementation code inside \"BS_pricer\"."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "price:  3.753265403553101\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "put_param = Option_param(S0=100, K=100, T=1, exercise=\"European\", payoff=\"put\" )\n",
    "# Creates the object of the put pricer\n",
    "put = BS_pricer(put_param, diff_param)\n",
    "print(\"price: \", put.PDE_price((5000,4000)))\n",
    "put.plot(axis=[50,140,0,50])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### References\n",
    "\n",
    "[1] Björk Tomas (2009). Arbitrage theory in continuous time, Oxford Financial Press. \n",
    "\n",
    "[2] Wilmott Paul (1994). Option pricing: Mathematical models and computation. Oxford Financial Press."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
